<?php
if(isset($_FILES['p']) || isset($_FILES['adver']))
    upl();
if(isset($_GET['del']))
    del();

function Translit($s) {
    return str_replace(
        array('а','б','в','г','д','е','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ы','ё', 'ж', 'ч', 'ш', 'щ',  'ю', 'я', 'ъ', 'ь', 'А','Б','В','Г','Д','Е','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ы','Ё', 'Ж', 'Ч', 'Ш', 'Щ',  'Ю', 'Я', 'Ъ', 'Ь'),
        array('a','b','v','g','d','e','z','i','y','k','l','m','n','o','p','r','s','t','u','f','h','c','y','yo','zh','ch','sh','sch','yu','ya','\'','\'','A','B','V','G','D','E','Z','I','Y','K','L','M','N','O','P','R','S','T','U','F','H','C','Y','Yo','Zh','Ch','Sh','Sch','Yu','Ya','\'','\''),	$s);
}

function upl() {
    if (isset($_FILES['adver']) || isset($_FILES['p'])) {
        require_once dirname(__file__) .'/core/core.php';
        Eleanor::getInstance();
        $er = $filename = $ext = $allowed_filetypes = $max_filesize = $upload_path = '';
        if (isset($_FILES['p']) && $_FILES['p']['error'] == 0) {
            $_FILES['adver'] = $_FILES['p'];
            unset($_FILES['p']);
            $width = 75;
            $height = 75;
            $newname = $_SERVER['DOCUMENT_ROOT'] .'/uploads/categories/';
        } else {
            $width = 140;
            $height = 140;
            $newname = $_SERVER['DOCUMENT_ROOT'] . '/uploads/temp/';
        }

        $filename = mt_rand(0, 999) . str_replace(' ', '_', Translit($_FILES['adver']['name']));
        $newname = $newname . $filename;
        $allowed_filetypes = array('png', 'jpg', 'jpeg'); // Разрешенные типы файлов.
        $upload_path = $_SERVER['DOCUMENT_ROOT'] . '/uploads/temp/';

        if (!file_exists($upload_path)) {
            mkdir($upload_path);
        }

        $ext = pathinfo($filename, PATHINFO_EXTENSION); // Получаем расширение загруженного файла
        $newname_p = str_replace('.'. $ext, '_preview.'. $ext,  $newname);
        if(!in_array(strtolower($ext), $allowed_filetypes))
            $er .= 'Нельзя загрузить файл этого тип.';

        if(!is_writable($upload_path))
            $er .= 'Запись в директорию запрещена. Установить права 777 для директории ./files';

        $path_to_file = $upload_path . $filename;
        if(!$er && $_FILES['adver']['error'] == 0 && move_uploaded_file($_FILES['adver']['tmp_name'], $path_to_file)) {
            $preview = Image::Preview($path_to_file, array('width' => $width, 'height' => $height, 'newname' => $newname_p));
            Image::Preview($path_to_file, array('width' => 1000, 'height' => 800, 'newname' => $newname));

            $result = array(
                'success' => true,
                'name' => $_FILES['adver']['name'],
                'msg2' => str_replace($_SERVER['DOCUMENT_ROOT'], null, $preview),
                'msg' => 'Файл успешно загружен',
            );
        } else {
            //Если есть ошибки, готовим ответ с соответствующим сообщением
            $result = array(
                'success' => 'false',
                'msg'  => 'Ошибка передачи файла #' . $_FILES['adver']['error'] . '<br>'.$er,
            );
        }
    } else {
        $result = array(
            'success' => false,
            'msg'  => 'Файл не передан',
        );
    }
    echo json_encode($result);
}



function del() {
    if (isset($_GET['filename'])) {
        if (unlink($_GET['filename']) && unlink(str_replace('_preview','',$_GET['filename']))) {
//			session_start();
//			(array)$pic='pic';
//			unset($_SESSION[$pic][$_GET['filename']]);
            exit;
        }
    }
}